home *** CD-ROM | disk | FTP | other *** search
/ Micom Basic 1995 October / CD [BM9510].bin / basic / bp_kouza / n88basic / list3.bas < prev   
Encoding:
BASIC Source File  |  1995-08-09  |  4.8 KB  |  136 lines

  1. 1000 SCREEN 3                                           'TOWNSé═ 1000 SCREEN@ 0
  2. 1010 WIDTH 80,25
  3. 1020 CONSOLE 0,25,0,1                              'TOWNSé═ 1020 CONSOLE 0,25,0
  4. 1030 CLS 3                                                  'TOWNSé═ 1030 CLS 0
  5. 1040 DIM TX(4,4),TY(4,4),TC(4,4)                            'â^ü[âQâbâgé╠âfü[â^
  6. 1050 DIM TF(4)                                            'â^ü[âQâbâgæ╢ì▌âtâëâO
  7. 1060 FOR STAGE=0 TO 4
  8. 1070  FOR I=0 TO 4
  9. 1080   READ TX(STAGE,I),TY(STAGE,I),TC(STAGE,I)       'âXâeü[âWüEâfü[â^ô╟é▌é╛é╡
  10. 1090  NEXT
  11. 1100 NEXT
  12. 1110 G=9.8                                                          'Ådù═ë┴æ¼ôx
  13. 1120 DT=.1                                                            'ìÅé▌Ä₧è╘
  14. 1130 WHILE -1
  15. 1140  SCORE=0
  16. 1150  FOR STAGE=0 TO 4
  17. 1160   GOSUB *STAGEMAKE
  18. 1170   GOSUB *GAMEMAIN
  19. 1180  NEXT
  20. 1190  GOSUB *GAMEOVER
  21. 1200 WEND
  22. 1210 END
  23. 1220 *GAMEOVER
  24. 1230 BEEP
  25. 1240 LOCATE 29,12
  26. 1250 PRINT "ü@éféüéìéàü@énéûéàéÆü@"
  27. 1260 GOSUB *WAITSPACE
  28. 1270 RETURN
  29. 1280 *STAGEMAKE
  30. 1290 CLS 3                                                  'TOWNSé═ 1290 CLS 0
  31. 1300 PRINT "âuâëâôâRüEâLâââbâ`üEâQü[âÇ"
  32. 1310 GOSUB *PUTSCORE
  33. 1320 FOR I=0 TO 4
  34. 1330  CIRCLE(TX(STAGE,I),TY(STAGE,I)),20,TC(STAGE,I)            'â^ü[âQâbâgò\Ī
  35. 1340  TF(I)=1                                             'â^ü[âQâbâgæ╢ì▌âtâëâO
  36. 1350 NEXT
  37. 1360 BL=250                                                     'âuâëâôâRé╠Æ╖é│
  38. 1370 BV=30                                                  'âuâëâôâRé╠Åëè·æ¼ôx
  39. 1380 BR=0                                       'âuâëâôâRé╠Åëè·èpôxüiâëâWâAâôüj
  40. 1390 BM=1                                                       'âuâëâôâRé╠Ä┐ù╩
  41. 1400 C=7
  42. 1410 GOSUB *PUTBURANKO
  43. 1420 RETURN
  44. 1430 *GAMEMAIN
  45. 1440 TI=1000                                                          'ÄcéΦÄ₧è╘
  46. 1450 GF=0
  47. 1460 WHILE GF=0
  48. 1470  GOSUB *MOVEBURANKO                                          'âuâëâôâRê┌ô«
  49. 1480  C=0
  50. 1490  GOSUB *PUTBURANKO
  51. 1500  BR=NEWBR                                            'ÉVé╡éóèpôxé┼ò`é½Æ╝é╖
  52. 1510  C=7
  53. 1520  GOSUB *PUTBURANKO
  54. 1530  GOSUB *KEYCHECK
  55. 1540  GOSUB *PUTTARGET
  56. 1550  TI=TI-1
  57. 1560  GOSUB *PUTTIME
  58. 1570  IF TI<1 AND GF=0 THEN GF=1                                      'Ä₧è╘É╪éΩ
  59. 1580 WEND
  60. 1590 IF GF=1 THEN GOSUB *TIMEOVER ELSE GOSUB *STAGECLEAR
  61. 1600 RETURN
  62. 1610 *PUTBURANKO                                                'âuâëâôâRé╠ò\Ī
  63. 1620 LINE(320,0)-(320+BL*SIN(BR),BL*COS(BR)),C    'TOWNSé═ ü`BL*COS(BR)),PSET,C
  64. 1630 CIRCLE(320+(BL+30)*SIN(BR),(BL+30)*COS(BR)),30,C
  65. 1640 RETURN
  66. 1650 *PUTSCORE
  67. 1660 IF SCORE>HISCORE THEN HISCORE=SCORE
  68. 1670 LOCATE 25,0
  69. 1680 PRINT USING "High Score:####   Score:####   Stage:#";HISCORE;SCORE;STAGE+1
  70. 1690 RETURN
  71. 1700 *PUTTIME
  72. 1710 LOCATE 70,0
  73. 1720 PRINT USING "Time:#####";TI
  74. 1730 RETURN
  75. 1740 *MOVEBURANKO                                               'âuâëâôâRé╠ê┌ô«
  76. 1750 FG=BM*G
  77. 1760 FG2=-FG*SIN(BR)
  78. 1770 A=FG2/BM
  79. 1780 BV=BV+A*DT
  80. 1790 NEWBR=BR+BV*DT/BL
  81. 1800 BX=320+(BL+30)*SIN(BR)                                     'âuâëâôâRé╠ì└òW
  82. 1810 BY=(BL+30)*COS(BR)
  83. 1820 FOR I=0 TO 4
  84. 1830  IF TF(I)=1 AND SQR((TX(STAGE,I)-BX)*(TX(STAGE,I)-BX)+(TY(STAGE,I)-BY)*(TY(STAGE,I)-BY))<51 THEN GOSUB *GETTARGET                 'â^ü[âQâbâgë±Ä√â`âFâbâN
  85. 1840 NEXT
  86. 1850 RETURN
  87. 1860 *GETTARGET
  88. 1870 BEEP 1
  89. 1880 CIRCLE(TX(STAGE,I),TY(STAGE,I)),20,0                       'â^ü[âQâbâgÅ┴ïÄ
  90. 1890 TF(I)=0                                        'â^ü[âQâbâgæ╢ì▌âtâëâOâNâèâA
  91. 1900 SCORE=SCORE+10
  92. 1910 GOSUB *PUTSCORE
  93. 1920 BEEP 0
  94. 1930 RETURN
  95. 1940 *KEYCHECK                                                'âLü[ôⁿù═â`âFâbâN
  96. 1950 NBL=-1
  97. 1960 K$=INKEY$
  98. 1970 IF K$="2" THEN NBL=BL+10                                 'âuâëâôâRé≡ÉLé╬é╖
  99. 1980 IF K$="8" THEN NBL=BL-10                                 'âuâëâôâRé≡Åké▀éΘ
  100. 1990 IF NBL<100 OR NBL>350 THEN NBL=-1
  101. 2000 IF NBL<0 THEN RETURN
  102. 2010 C=0
  103. 2020 GOSUB *PUTBURANKO
  104. 2030 BL=NBL
  105. 2040 C=7
  106. 2050 GOSUB *PUTBURANKO
  107. 2060 RETURN
  108. 2070 *TIMEOVER
  109. 2080 LOCATE 31,12
  110. 2090 PRINT "éséëéìéàü@énéûéàéÆ"
  111. 2100 GOSUB *WAITSPACE
  112. 2110 RETURN
  113. 2120 *STAGECLEAR
  114. 2130 LOCATE 29,12
  115. 2140 PRINT "éréöéüéçéàü@ébéîéàéüéÆ"
  116. 2150 SCORE=SCORE+INT(TI/100)
  117. 2160 GOSUB *PUTSCORE
  118. 2170 GOSUB *WAITSPACE
  119. 2180 RETURN
  120. 2190 *WAITSPACE
  121. 2200 WHILE INKEY$<>" "
  122. 2210 WEND
  123. 2220 RETURN
  124. 2230 *PUTTARGET                                                 'â^ü[âQâbâgò\Ī
  125. 2240 F=0
  126. 2250 FOR I=0 TO 4
  127. 2260  IF TF(I)=1 THEN CIRCLE(TX(STAGE,I),TY(STAGE,I)),20,TC(STAGE,I):F=1
  128. 2270 NEXT
  129. 2280 IF F=0 THEN GF=2
  130. 2290 RETURN
  131. 2300 DATA 100,300,1 ,200,250,2 ,300,100,3 ,450,300,4 ,550,300,5
  132. 2310 DATA 200,100,1 ,300,100,2 ,500,100,3 ,100,300,4 ,400,200,5
  133. 2320 DATA 150,250,1 ,550,250,2 ,450,250,3 ,300,80,4 ,50,200,5
  134. 2330 DATA 100,120,1 ,450,100,2 ,500,50,3 ,200,350,4 ,400,100,5
  135. 2340 DATA 50,50,1 ,50,300,2 ,550,100,3 ,350,150,4 ,400,350,5
  136.